Systems and methods for automatic configuration and automatic calibration of continuously variable transmissions and bicycles having continuously variable transmissions

ABSTRACT

A continuously variable transmission on a bicycle may be automatically configured with little or no assistance from a user. Optical scanning devices, RFIDs, and other information capturing technology can communicate with a controller. The controller may then perform a portion or all of a configuration process. In operation, a controller may determine that calibration is needed. A calibration process may be initiated and performed with little or no user interaction. A calibration process may account for a load, a power source, or an environment.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No. 15/172,031, filed Jun. 2, 2016 and scheduled to issue on Jul. 17, 2018 as U.S. Pat. No. 10,023,266, which claims priority under 35 U.S.C. § 119(e) to U.S. Provisional Patent Application No. 62/334,947, filed May 11, 2016, and to U.S. Provisional Patent Application No. 62/344,325, filed Jun. 1, 2016. The disclosures of all of the above-referenced prior applications, publications, and patents are considered part of the disclosure of this application, and are incorporated by reference herein in their entirety.

Continuously variable transmissions (CVTs) are being used ever more increasingly in systems in which shift shock, gear collisions, and other mechanical events are known to occur. In particular, continuously variable transmissions are gaining popularity for cyclists because they provide a continuous range of transmission ratios, are easy to use, require little or no maintenance, and have increased reliability over geared transmissions.

In ball planetary type CVTs, power may be transferred between components via a traction fluid. The use of a traction fluid avoids issues with geared transmissions. In particular, CVTs such as those described in U.S. Pat. Nos. 7,011,600, 7,238,136, 7,198,585, 7,250,018, 7,166,056, 7,235,031, 7,169,076, 7,288,042, 7,396,209, 8,066,614, 7,731,615, 7,651,437, 7,727,108, 7,686,729, 8,267,829, 7,238,137, 7,036,620, 7,238,138, 7,232,395, 7,125,297, 8,469,853, 8,628,443 and 7,322,901 provide smooth acceleration and deceleration by eliminating the undesirable mechanical events associated with geared transmissions.

Some CVTs may employ electronic mechanisms for automatically adjusting the transmission ratio. To improve the performance and accuracy of these mechanisms, configuration and calibration may be performed at setup, at selected intervals, when a component is replaced, etc. Presently, configuration information is entered manually, and calibration may be performed on an ad hoc basis, such as when manually initiated by a user of a bicycle.

The steps needed to configure a bicycle may seem relatively easy. For example, experienced cyclists are generally aware that the number of teeth on a front gear is usually stamped onto the gear itself. Furthermore, experienced cyclists may know the number of teeth on a gear based on their experience of handling gears, interacting with the gear manufacturer, or by previous trial and error. However, for people not familiar with the different components on a bicycle, this process is prone to errors and frustration. For example, even if the number of teeth is stamped on a gear, a person with little or no experience with bicycles might not know to look for a number stamped on the gear or might not know where to find it. Or, the user might manually count the number of teeth. This can be frustrating, the user might not be physically able to perform the task, and errors can occur. Furthermore, if the person makes a mistake and enters the wrong number, the person might not know there is an error or might not know how to correct the error.

SUMMARY

Embodiments disclosed herein may be integrated with an automatic ratio adjusting system or may otherwise extend the functionality of an automatic ratio adjusting system. The ratio adjusting system may be used to change the transmission ratio over a range of transmission ratios. Systems and methods disclosed herein may ensure the entire range is available.

Systems disclosed herein may be communicatively coupled via a controller area network (CAN). Communicative coupling may involve a wireless or wired connection, and may involve continuous communication or discontinuous communication for the purpose of sending and receiving information from any of several components.

In one broad respect, an auto-configuration system may include a controller area network (CAN) with a system controller communicatively coupled to sensors and a CVT controller. At start up, the system controller sends a mutually pre-defined packet over the CAN bus to the CVT controller which stores information about components.

In another broad respect, embodiments disclosed herein may be directed to a system and method for determining a physical configuration of a bicycle and for determining an operational configuration of the bicycle. A user aligns components of the bicycle within a virtual overlay depicted on a screen. A picture of the rear gear is used to determine the number of rear gear teeth, the rear gear size, and other rear gear information. A picture of the rear wheel is used to determine the rear wheel diameter and the relationship in size between the rear wheel and the rear gear. A picture of the front gear is used to determine the number of front gear teeth and the front gear size. A picture of the entire bicycle is used to determine physical properties of the bicycle, the chain length, and other metric information, which is used to determine operational parameters of the bicycle.

Calibration may use an adaptive algorithm, including identifying a polynomial or other equation, and using empirical data. A first polynomial may characterize the performance of a CVT under a first load, and a second polynomial may characterize the performance of a CVT under a second load. In other settings, a single polynomial may characterize the performance of a CVT and values for different variables within the polynomial may be changed to characterize the performance of the CVT under different loads.

In one embodiment, a system for automatic calibration of a bicycle includes a first controller having a first processor and a first memory storing a first set of instructions executable by the first processor and adapted to: initiate a camera function; determine if a first image of a first component of the bicycle exists; if an image of the first component of the bicycle exists, determine a physical characteristic of the first component. The system also includes a second set of instructions adapted to control one or more of a continuously variable transmission and an electric motor based on the physical characteristic of the first component. The first component can include a gear. The system can include an overlay on a display coupled to the first processor adapted to aid a user in determining if the first image of the first component is correlated with the overlay. In some embodiments, the first controller is part of a smart phone, a personal data assistant, or a tablet. The system can include a second controller having a second processor and a second memory, wherein the second set of instructions is at least in part stored on the second memory and executed by the second processor. The first controller can be a portable computing device. The second controller can be coupled to the bicycle. The first controller can be further adapted to: determine if a second image of a second component of the bicycle exists; and determine a physical characteristic of the second component, wherein the second processor is adapted to control one or more of the continuously variable transmission and the electric motor based on one or more of the physical characteristic of the first component and the physical characteristic of the second component. In one embodiment, the first component is a first gear and the second component is a second gear, and the first set of instructions are executable to determine a gear ratio based on the first gear and the second gear. In another embodiment, the first component is a first gear and the second component is a second gear, and the second set of instructions are executable to determine a gear ratio based on the first gear and the second gear. In a further embodiment, the first component is a first gear and the second component is a wheel, and the first set of instructions are executable to determine a motor speed based on the first gear and the wheel.

A system for automatic calibration of a bicycle is provided. The system includes a first computer adapted to determine a first set of operating parameters of the bicycle, and communicate the first set of operating parameters to a second computer. The second computer has a set of instructions to: determine a first characteristic of a first component; and control a continuously variable transmission based on the first component and the first set of operating parameters. In one embodiment, the first set of operating parameters are associated with a road bicycle. Control of the continuously variable transmission based on the first component and the first set of operating parameters includes optimizing the continuously variable transmission for a rider on substantially paved roads. In another embodiment, the system includes an electric motor and the first set of operating parameters are associated with a road bicycle. Control of the continuously variable transmission based on the first component and the first set of operating parameters includes optimizing the continuously variable transmission and the electric motor for a rider on substantially paved roads. In a further embodiment, the first set of operating parameters are associated with a mountain bicycle, and control of the continuously variable transmission based on the first component and the first set of operating parameters includes optimizing the continuously variable transmission for a rider on unpaved routes. In still a further embodiment, the system includes an electric motor and the first set of operating parameters are associated with a mountain bicycle. Control of the continuously variable transmission based on the first component and the first set of operating parameters includes optimizing the continuously variable transmission and the electric motor for a rider on unpaved routes. In yet another embodiment, the first set of operating parameters are associated with a commercial bicycle, and control of the continuously variable transmission based on the first component and the first set of operating parameters includes optimizing the continuously variable transmission for a rider transporting heavy items. In yet a further embodiment, the system includes an electric motor, and the first set of operating parameters are associated with a commercial bicycle. Control of the continuously variable transmission based on the first component and the first set of operating parameters includes optimizing the continuously variable transmission and the electric motor for a rider transporting heavy items. In some embodiments, determining the first characteristic of the first component includes determining one of a gear size, a gear tooth count, a wheel size, a chain length, a gear ratio, a frame size, a length of a frame member and a seat height.

A method for automatic calibration of a bicycle can include determining a frame size of the bicycle; determining a wheel size for the bicycle; determining a front gear size for the bicycle; determining a rear gear size for the bicycle; determining an operating range for a continuously variable transmission based on the frame size, wheel size, front gear size or rear gear size for the bicycle; and communicating a set of instructions for controlling a continuously variable transmission (CVT) based on the determined operating range. The wheel size can correspond to a mountain bike, and the set of instructions can be executable to control a CVT under mountain biking conditions. The set of instructions can be communicated to a continuously variable transmission controller. The set of instructions can be communicated to a bike controller. A first portion of the set of instructions can be communicated to a continuously variable transmission controller and a second portion of the set of instructions can be communicated to a CVT controller. The first portion of the set of instructions can consist of instructions for adjusting a continuously variable transmission. The first portion of the set of instructions can be for calculating a continuously variable transmission ratio. The first portion of the set of instructions can be for looking up a continuously variable transmission ratio in a data structure stored in memory. The first portion of the set of instructions can be for looking up a continuously variable transmission ratio in a table stored in memory. The second portion of the set of instructions can be instructions for adjusting a continuously variable transmission. The second portion of the set of instructions can be for calculating a continuously variable transmission ratio. The second portion of the set of instructions can be for looking up a continuously variable transmission ratio in a data structure stored in memory. The second portion of the set of instructions can be for looking up a continuously variable transmission ratio in a table stored in memory. The second portion of the set of instructions can further include instructions for controlling an electric motor.

A method for configuring a bicycle can include: communicating, at startup by a continuously variable transmission controller, a first packet of information to a bike controller, the packet of information containing one or more operating parameters for a continuously variable transmission; and communicating, at startup by a continuously variable transmission controller, a first packet of information to a bike controller, the packet of information containing one or more operating parameters for a continuously variable transmission.

A method for configuring a bicycle can include presenting a display via a graphical user interface (GUI); receiving, via the GUI, one or more user inputs; and operating the bicycle according to a set of parameters based on the one or more user inputs. At least one user input can correspond to a cadence. At least one user input can correspond to a gear ratio. At least one user input can correspond to a desired riding performance. At least one user input can correspond to a distance. At least one user input can correspond to a bicycle speed. At least one user input can correspond to a load. Operating the bicycle according to a set of parameters can include determining an algorithm for operating the bicycle. Operating the bicycle according to a set of parameters based on the one or more user inputs can include: operating the bicycle according to a first algorithm; determining a second algorithm based on the set of parameters; and replacing the first algorithm with the second algorithm. The set of parameters can include information about one or more components on the bicycle. The one or more components can include one or more of a continuously variable transmission, an electric motor, a rear gear, a front gear, a chain length, and a physical configuration of the bicycle. The method can further include communicating the second algorithm to a server. Operating the bicycle according to a set of parameters based on the one or more user inputs can include operating the bicycle according to a first algorithm; determining a second algorithm based on the one or more user inputs; and replacing the first algorithm with the second algorithm. The one or more user inputs comprises an operating mode or a target cadence.

A method for determining an operating range for a continuously variable transmission (CVT) on a bicycle can include determining a first ratio point from a first wheel speed; adjusting a continuously variable transmission ratio at a predetermined rate to a first physical limit; and calculating, based on a time needed to reach the first physical limit from the first ratio point, a second physical limit of the continuously variable transmission. The first physical limit can be full underdrive. The first physical limit can be full overdrive. Adjusting a continuously variable transmission ratio at a predetermined rate can include changing the tilt angle of a ball planetary type CVT at a predetermined rate. Adjusting a continuously variable transmission ratio at a predetermined rate can include changing a beta angle of a first stator relative to a second stator of a ball planetary type CVT at a predetermined rate. The predetermined rate can be linear. Determining a first ratio point can be based on an encoder position.

A method of controlling a continuously variable transmission (CVT) can include operating the CVT according to an open loop process under a first set of operating conditions; and operating the CVT according to a closed loop process under a second set of operating conditions. The first set of operating conditions can include low load conditions. The second set of operating conditions can include high load conditions. The second set of operating conditions can include high pedal rotational speed conditions. The second set of operating conditions can include high pedal rotational speed conditions in excess of 80 revolutions per minute. The second set of operating conditions can include high pedal rotational speed conditions in excess of 90 revolutions per minute. The second set of operating conditions can include high pedal rotational speed conditions in excess of 100 revolutions per minute. The second set of operating conditions can include high pedal rotational speed conditions in excess of 110 revolutions per minute.

A method of controlling a continuously variable transmission (CVT) can include operating the CVT according to a first polynomial under a first set of operating conditions; and operating the CVT according to a second polynomial under a second set of operating conditions. The first set of operating conditions can include low load conditions. The second set of operating conditions can include high load conditions. The second set of operating conditions can include high pedal rotational speed conditions. The second set of operating conditions can include high pedal rotational speed conditions in excess of 80 revolutions per minute. The second set of operating conditions can include high pedal rotational speed conditions in excess of 90 revolutions per minute. The second set of operating conditions can include high pedal rotational speed conditions in excess of 100 revolutions per minute. The second set of operating conditions can include high pedal rotational speed conditions in excess of 110 revolutions per minute.

A method of controlling a continuously variable transmission includes: during a ride, operating a continuously variable transmission according to a first algorithm; storing, by the controller in a memory, data for the bicycle over a predetermined time period, wherein the data includes a predicted distance associated with a rear wheel speed and a cadence in accordance with the first algorithm; if the rear wheel speed and the cadence remain substantially constant over the predetermined time period: determining the actual distance covered during the predetermined time period; and determining a second algorithm based on the actual distance covered; and operating the continuously variable transmission according to the second algorithm. Determining the actual distance covered can include comparing a first set of GPS coordinates from a beginning of a data set with a second set of GPS coordinates from an end of the data set. Determining the actual distance covered can include comparing the rear wheel speed over time to a set of GPS coordinates.

A method of configuring a controller for a continuously variable transmission on a bicycle can include the steps of: establishing a first configuration setting; monitoring a set of riding data to determine when a steady state speed is maintained for a specified period of time; recording said riding data until the earlier of a second specified period or until the riding data deviates by a predetermined amount from the steady state speed; identifying a control set of data by comparing a first set of GPS data at the beginning of the recorded data to a second set of GPS data at the end of the recorded data; comparing the recorded data against the control set of data to develop an error value; and establishing a second configuration setting for the controller based on the error value. The method can further include requesting and receiving an input of information from a user; and correlating the information received from the user with a set of stored data to establish the first configuration setting. The information that is provided in the input of information step can include one or more of the following; bicycle model, tire size, front chain ring teeth, rear cog teeth, bicycle size and serial number. The riding data can include one or more of wheel speed, pedal cadence, expected bicycle speed, bicycle position and continuously variable transmission ratio. The steps of monitoring, recording, identifying, comparing and establishing a second configuration setting can be repeated until the error value is within a specified tolerance. The controller can repeat the steps of monitoring, recording, identifying, comparing and establishing a second configuration setting periodically to monitor the configuration setting and ensure it remains within the specified tolerance. The period of time between monitoring the configuration setting can be no more than one month. The period of time between monitoring the configuration setting can be no more than one week. The process to monitor the configuration setting of the controller can occur every time the bicycle remains at a steady state, meaning speed and cadence are within the defined tolerance, for more than 30 seconds.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a schematic diagram of a bicycle configuration system, illustrating variations and steps in a bicycle configuration process according to one embodiment of the present disclosure.

FIG. 2 is a simplified view of a bicycle, illustrating typical mounting locations for various features according to one embodiment of the present disclosure.

FIG. 3A is a flow diagram, illustrating variations and steps in a CVT control process according to one embodiment of the present disclosure.

FIG. 3B is a schematic diagram, illustrating steps and variations in a CVT control scheme according to one embodiment of the present disclosure.

FIG. 4 is a diagram, illustrating a method for enabling a user to capture information without manually entering each piece of information according to one embodiment of the present disclosure.

FIG. 5A is a diagram, illustrating transmission ratio over time according to one embodiment of the present disclosure.

FIG. 5B is a diagram of transmission ratio relative to time, illustrating a control scheme using open loop and closed loop control schemes under different conditions according to one embodiment of the present disclosure.

DETAILED DESCRIPTION

As defined herein, the term configuration refers to any process for ensuring a controller “knows” the system in which it is operating. Configuration may involve any process in which a controller is communicatively coupled to components and is able to communicate using a communication protocol or control scheme according to a control preference available to or preferred by a user. The system may include just the CVT, may include a drive train including the CVT, or may include a bicycle having a CVT or a bicycle having a drive train with a CVT. A drive train may include a chain, belt or other power transmitting element between one or more power sources and one or more power loads.

Steps in a configuration process may be performed at one or more levels in the production or assembly of a bicycle or the delivery of a bicycle to an end user. Although certain preferred embodiments may be described herein, it should be noted that an original equipment manufacturer (OEM) may perform part or all of a configuration process, a dealer or other entity in the sales chain may perform part or all of a configuration process, and an end user may perform part or all of a configuration process.

FIG. 1 is a schematic diagram of a bicycle configuration system, further illustrating variations and steps in a bicycle configuration process. As depicted in FIG. 1, components are manufactured by an OEM 105, a bicycle or kit is assembled by vendor 110, and the bicycle is obtained (either by sale or by rental) or the kit is assembled by end user 115.

At OEM 105, the component may be manufactured according to desired specifications 122. Configuration information from OEM 105 may be stored at configuration server 130 or communicated to user profile server 135, vendor server 125, or device 116. A configuration process may include step 106 of OEM 105 adding a label with configuration information on the label. In addition to information such as part number or serial number, other information may be added. For example, if the component is manufactured to fulfill a customer order, information about the end user 115 may be included, such as a preferred language, units, or the like. Configuration information may be received or otherwise obtained from configuration server 130.

A configuration process may include step 111, in which information is sent from OEM 105 to configuration server 130. Information sent to configuration server 130 may include information including compatibility information relative to other components manufactured by other OEMs 105. Information from other OEMs 105 may include inertia information from a wheel or tire OEM; weight, inertia, center of gravity or other properties of a frame from a frame OEM; wheel dropout angle, depth or other metrics information from a frame OEM, and the like.

Components (e.g., frames, wheels, rims, gears, electric motors, transmissions, etc.) from various OEMs 105 may be obtained by vendor or other entity 110 during the production of a bicycle. A configuration process may include step 107, in which a label may be read to get information. Machine-readable optical labels may be used to communicate configuration information. A QR Code™ is one example of a matrix barcode that contains information about the item to which it is attached. A vendor or other entity 110 in the supply chain may use an imaging device to scan the optical label and determine or verify the country of manufacture (country of origin) for a component, assembly or bicycle. Information stored in either a central computer or a computer controlled by the entity may be used to configure the bicycle. For example, if a bicycle dealer in Germany scans an optical label, information about the bicycle may be presented in German and any units may be metric, whereas if a bicycle dealer in the United States were to scan the same optical label, information about the bicycle may be presented in English and any units may be standard, whereas if a bicycle dealer in England were to scan the same optical label, information may be presented in English and any units may be imperial.

A configuration process may include step 112, in which setup information is retrieved by entity 110 from configuration server 130. In some embodiments, entity 110 may have an imaging device to scan an optical label, a radio-frequency identification (RFID) reader to identify a tag, or some other technology to determine information about a component, subassembly, assembly or bicycle. For example, in some embodiments, a QR code or other optical label may include serial number information, part number information, country of origin (manufacture), vendor information, dealer information, user information, or the like. With this information, configuration of a bicycle may be performed by entity 110.

In some embodiments, a bicycle may utilize a system controller and a CVT controller. Configuration information may be analyzed by vendor server 125 to determine which CVT controller is a best match for the system controller. Or, if there is a particular CVT controller running a certain version of firmware, configuration server 130 may provide information about what system controller should be used or is preferred, a preferred setup sequence, or the like. In some embodiments, configuration server 130 may contain instructions for configuration that can be loaded onto a system controller or a CVT controller independent of the other, such that an end user can trigger or request a final connection between the two controllers and the controllers immediately communicate with each other.

In some embodiments, configuration information read from a label is analyzed to select what configuration information is retrieved from configuration server 130. For example, entity 110 may have information about a preferred system controller configurable to communicate with any of several different CVT controllers available, with each CVT controller using a different communication protocol (including different versions of the same protocol). If a label is scanned and it is determined that a particular CVT controller is to be used with the preferred system controller, embodiments may retrieve the appropriate software from configuration server 130.

A configuration process may include step 113, in which information may be obtained by end user 115 from vendor server 125. Information stored on vendor server 125 may include information about an end user for whom the bicycle is intended, a jurisdiction or geographic area in which the bicycle is to be used, or the like. In some embodiments, information about a geographic area in which the bicycle is to be used includes instructions that the system controller or CVT controller will execute to operate according to particular laws or regulations. For example, if a particular municipality has a maximum bicycle speed, execution of the instructions may control the CVT in a way that optimizes the CVT at speeds less than the maximum speed. In some embodiments, vender server 125 may communicate with OEM 105, device 116, user profile server 135, or configuration server 130 to obtain configuration information, reconcile information or settings, and communicate configuration information to a CVT controller or a system controller.

A configuration process may include step 114, in which information may be obtained from user profile server 135. End user 115 may have set up a profile that is stored in user profile server 135. If end user 115 purchases a new bicycle or rents a bicycle having a system controller or a CVT controller, fields in the user profile may be analyzed to control operation of the CVT according to user preferences. For example, end user 115 may prefer smoother acceleration instead of quick acceleration, or may want more motor assistance on a rental bike than on a bike owned by end user 115. In any case, a user profile stored on user profile server 135 may store this information in various fields and provide the information to a vendor 110 either at a time of purchase (or rental) or some other point of time. End user 115 may navigate through a series of steps to capture information, may be presented a limited number of options, or may use other means to capture information, discussed below.

In addition to the above information, a configuration process may include determining or obtaining other information about the system being configured. FIG. 2 depicts a simplified view of a bicycle, illustrating typical mounting locations for wheel speed sensor 201, chain speed sensor 202, bicycle speed sensor 203, system controller 204, pedal speed sensor 205, CVT controller 206 and torque sensor 207 on bicycle 200. However, different vendors may use different sensors mounted in different locations on the bicycle. Pedal speed sensors are one example of a sensor that may vary according to the vendor with respect to location, orientation, signal parameters such as frequency, etc. Also, CVT controller 206 may be positioned at the rear wheel axle or at the bottom bracket. Embodiments may determine what sensors are available, where the sensors are positioned and other information, and configure the bicycle accordingly.

Various bicycles and control systems may need to know different information in order to automatically configure for a particular component, subassembly, assembly, drive train, bicycle, environment, rider, manufacturer or intermediary. Not all information is required for each scenario. FIG. 3A depicts a flow diagram, illustrating variations and steps in a CVT control process.

Example 1

As shown in FIG. 3A, a CVT control method 300 may include step 302 of getting a target cadence (e.g., from system controller 204) and step 306 of adjusting the transmission ratio using system controller 204 or CVT controller 206 (see FIG. 3B).

Example 2

As shown in FIG. 3A, a CVT control process 300 may include step 302 of getting a target cadence (e.g., from system controller 204), step 304 of calculating user power and step 306 of adjusting the transmission ratio using system controller 204 or CVT controller 206.

Example 3

As shown in FIG. 3A, a CVT control process 300 may include step 301 of getting a target bike speed (e.g., from bicycle speed sensor 203), step 302 of getting a target cadence (e.g., from system controller 204), step 304 of calculating user power and step 306 of adjusting the transmission ratio using system controller 204 or CVT controller 206.

Example 4

As shown in FIG. 3A, a CVT control process 300 may include step 301 of getting a target bike speed (e.g., from bicycle speed sensor 203), step 302 of getting a target cadence (e.g., from system controller 204), step 304 of calculating user power, step 305 of getting external power input (e.g., from system controller 204 or from sensors associated with the external power source) and step 306 of adjusting the transmission ratio using system controller 204 or CVT controller 206.

Example 5: As shown in FIG. 3A, a CVT control process 300 may include step 301 of getting a target bike speed (e.g., from bicycle speed sensor 203), step 302 of getting a target cadence (e.g., from system controller 204), step 304 of calculating user power, step 305 of getting external power input (e.g., from system controller 204 or from sensors associated with the external power source), step 308 of determining external power limits (e.g., battery capability, maximum power capacity, available power capacity, power capacity allowed by rules or environment) and step 306 of adjusting the transmission ratio using system controller 204 or CVT controller 206.

Example 6: As shown in FIG. 3A, a CVT control process 300 may include step 301 of getting a target bike speed (e.g., from bicycle speed sensor 203), step 302 of getting a target cadence (e.g., from system controller 204), step 304 of calculating user power, step 305 of getting external power input (e.g., from system controller 204 or from sensors associated with the external power source), step 308 of determining external power limits (e.g., battery capability, maximum power capacity, available power capacity, power capacity allowed by rules or environment), step 309 of adjusting the external power and step 306 of adjusting the transmission ratio using system controller 204 or CVT controller 206.

FIG. 3B depicts a schematic diagram, illustrating steps and variations in a CVT control scheme.

Example 1

As shown in FIG. 3B, a CVT control process 350 may include step 302 of getting a target cadence (e.g., from system controller 204), step 307 of determining an actual cadence (e.g., from pedal speed sensor 205), step 310A of determining a transmission ratio, step 312A of determining a target transmission ratio, and step 314A of adjusting the transmission ratio. Steps 310A, 312A and 314A may be performed by CVT controller 206 or system controller 204 in communication with CVT controller 206.

Example 2

As shown in FIG. 3B, a CVT control process 350 may include step 302 of getting a target cadence (e.g., from system controller 204), step 307 of determining an actual cadence (e.g., from pedal speed sensor 205), step 310B of determining a encoder position, step 312B of determining a target encoder position, and step 314B of adjusting the encoder position. Steps 310B, 312B and 314B may be performed by CVT controller 206 or system controller 204 in communication with CVT controller 206.

Example 3

As shown in FIG. 3B, a CVT control process 350 may include step 302 of getting a target cadence (e.g., from system controller 204), step 307 of determining an actual cadence (e.g., from pedal speed sensor 205), steps 305A of determining a motor output torque and step 305B of determining a motor output speed, step 310A of determining a transmission ratio, step 312A of determining a target transmission ratio, and step 314A of adjusting the transmission ratio. Steps 310A, 312A and 314A may be performed by CVT controller 206 or system controller 204 in communication with CVT controller 206.

Example 4

As shown in FIG. 3B, a CVT control process 350 may include step 302 of getting a target cadence (e.g., from system controller 204), step 307 of determining an actual cadence (e.g., from pedal speed sensor 205), steps 305A of determining a motor output torque and step 305B of determining a motor output speed, step 310B of determining a encoder position, step 312B of determining a target encoder position, and step 314B of adjusting the encoder position. Steps 310B, 312B and 314B may be performed by CVT controller 206 or system controller 204 in communication with CVT controller 206.

In addition to these examples and other variations, a manufacturer may want systems in a preferred warranty configuration, a user might want several different bikes to be configured such that they all have approximately the same feel, local laws and regulations may also dictate how a bicycle can be configured (particularly if the bicycle is an e-bike or otherwise has external (non-human) power applied in lieu of or in addition to user pedal input), etc.

A configuration system determines what information is going to be used to control a CVT. Furthermore, a configuration system may also establish what controller, software or combination will be managing the control of the CVT.

In some embodiments, configuration instructions may establish that a CVT controller may receive only specific instructions for changing a tilt angle for the CVT, and a system controller communicatively coupled to the CVT controller will receive, determine or otherwise obtain information and forward information to the CVT controller necessary to adjust the CVT. For example, in a simplest scenario, a system controller may obtain pedal speed (“cadence”) information indicating the number of revolutions per minute (RPM) of the pedals. If the cadence is higher than a predetermined cadence, the system controller sends information to the CVT controller indicating a desired CVT setting (e.g., set transmission ratio to 1:1) or a desired change in a CVT setting (e.g., increase tilt angle by 2 degrees).

In other embodiments, configuration instructions may establish that the system controller may perform a portion of the calculations and sending a signal to the CVT controller, with the CVT controller calculating, referencing table lookups, or otherwise determining only the signals or processes needed to adjust the CVT based on the signal received from the system controller. The CVT controller adjusts the transmission ratio for the CVT based on the signal received from the system controller. For example, the system controller may determine the present pedal speed and signal that information to the CVT controller, along with a direction to adjust the CVT transmission ratio to achieve a desired pedal speed or to increase/decrease the pedal speed by a certain number of RPMs. Upon receiving the information, the CVT controller calculates, references a table lookup, or otherwise determines what tilt angle or encoder position is needed to achieve the desired pedal speed, and adjusts the CVT accordingly.

In other embodiments, information is provided by the system controller to the CVT controller, and the CVT controller determines how to achieve a desired transmission ratio, a desired change in transmission ratio, an output speed, a desired change in output speed, or the like. The system controller may determine the present wheel speed and a desired wheel speed and signal the information to the CVT controller, which calculates, uses lookup tables, or otherwise determines a necessary tilt angle and adjusts the CVT accordingly. For example, a system controller may determine bicycle speed and pass the information to the CVT controller. The CVT controller may have stored in memory the number of teeth on a front gear, the number of teeth on a rear gear, and a circumference of a rear wheel. Then, if a user wants to pedal at a selected pedal RPM (including a pedal RPM range), the CVT controller may determine the pedal RPM based on the bicycle speed (received from the system controller) and the gear ratio between the front gear and the rear gear (stored in local memory), and can then adjust the CVT transmission ratio accordingly. Those of skill in the art will appreciate that the CVT controller might know the number of teeth on the front gear and the number of teeth on the rear gear, or might know the ratio between the front gear and the rear gear.

The number, type, or position of sensors may differ among bicycle frames and components. Furthermore, in some embodiments, one or more sensors may communicate directly with the CVT controller. The CVT controller may communicate with the system controller and also may receive signals associated with pedal speed (RPM), pedal torque, chain speed, or the like, directly from the sensor(s). For example, in systems having multiple gears, the CVT controller may receive a signal indicating chain position (indicating in which gear the chain is engaged). In these scenarios, a system controller may receive chain position information and send the CVT controller the information necessary to adjust the CVT. The system controller may receive information on chain position and either send the information directly to the CVT controller or determine a gear ratio (corresponding to the ratio of the front gear to the rear gear) and send the gear ratio to the CVT controller. In some embodiments, a sensor may be integrated into the CVT controller, including integration in a wiring harness. In other embodiments, the CVT controller may receive chain position information either directly from the sensors or from the system controller and determine the gear ratio. The CVT controller may then determine an appropriate transmission ratio based on the gear ratio.

The foregoing describes various systems implementing system controllers and CVT controllers. A process for establishing these control schemes may be set up by a user in various ways, discussed below.

A process for configuring a bicycle control system by an OEM may involve communicatively coupling a CVT controller, a system controller, or both to an OEM server or other computer. If the OEM is producing a finished bicycle, the OEM server or computer may provide additional information to the CVT controller or the system controller. Information provided to the CVT controller may include gear ratio, the number of teeth on a front gear, the number of teeth on a rear gear, the number of front gears, the number of rear gears, a chain length, or the like. Information provided to a system controller or CVT controller may also include control information, including closed loop control parameters, open loop control parameters, parameters for switching between closed loop and open loop control, calibration parameters including triggers for initiating calibration, calibration steps, and triggers for ceasing calibration. In some embodiments, triggers may include operating conditions. Operating conditions may include information such as pedal RPM, pedal torque, the presence of a load, etc. As an example, a controller may detect or receive signals indicating a user is applying a large torque or there is a high pedal speed but slow vehicle movement. The controller may determine that this is a high (or heavy) load. The CVT may then determine that the CVT should be operating in a closed loop. If the pedal speed or torque decreases or the vehicle speed increases, the controller may determine the bicycle is operating with a lighter load and may switch to an open loop process.

In some embodiments, once the system controller or CVT controller is powered up by the user, execution of a set of instructions enables the system controller or CVT controller to begin operation in either closed loop or open loop control, according to one or more parameters. The system controller or CVT controller may communicate with an OEM server or other computer to set up or configure a controller area network (CAN), including initializing communications between sensors and the CVT controller or system controller and ensuring communication compatibility between the system controller and the CVT controller. Ensuring communication compatibility between the system controller and the CVT controller may include establishing a rate of communication between the CVT controller and the system controller, whether communications are to be push type (automatically provided) communications or whether they should be prompted. For example, if the system controller performs all calculations and directs the CVT controller to adjust the tilt angle to reach a desired tilt angle, the CVT controller may automatically provide the system controller with information about the tilt angle in response to a command to change the tilt angle.

Initial setup may be completed by the OEM through an implemented bike identification (ID) on a drive system electronic control unit (ECU). In step 122, OEM 105 may receive configuration information in the form of specifications and feedback from configuration server 130, or may receive configuration information from vendor server 125 in step 109. Either at vendor 110 or end user 115, a controller unit then provides a handshake and configures the system according to according to one or more predefined settings provided by OEM 105 and stored in a bike ID library on configuration server 130.

In one embodiment, an auto-configuration system may include a controller area network (CAN) with a system controller communicatively coupled to sensors and a CVT controller. At start up, the system controller sends a mutually pre-defined packet over the CAN bus to the CVT controller which stores information about components. The number of teeth on a front gear (Tf), the number of teeth on a rear gear (Tr), and the rear wheel circumference (Cw) may be included in the information. The CVT controller initializes a variable for each Tf, Tr and Cw from non-volatile memory, then when the CVT controller receives the mutually defined pack from the system controller, it updates the variables in volatile memory.

In one embodiment, an auto-configuration system may include a controller coupled to a plurality of sensors and further communicatively coupled to a GPS or other distance sensor. The sensors may include a CAN, a Wp (Pedal Speed Sensor), a Wc (Gear or Cog Speed sensor), a Ww (Wheel Speed Sensor), and a GPS or other distance sensor. At start up, the system controller and the CVT controller load default parameters. A set of steps or subroutines are then performed by a set of computer instructions stored in memory and executable by the controller.

Calculation of a wheel circumference may be performed as follows. The system controller transmits a mutually pre-defined packet to a CVT controller with the variable DISTANCE set to zero and clears a distance counter. When the CVT controller receives the packet with the variable DISTANCE set to zero, it clears a counter for Output Speed Ring (OSR) counts (e.g. 6 pulses per rev (ppr), OSR_ppr) and begins accumulating OSR counts until the system controller sends the mutually pre-defined packet to the CVT with the variable DISTANCE set to a non-zero value. On receiving a non-zero value the CVT will compute the wheel circumference (Cw) then store the value in a variable in non-volatile memory.

Once the distance is known (such as by riding a known distance, using GPS or some other means), the wheel circumference may be calculated as: Cw=DISTANCE/(OSR_pulses/OSR_ppr)  (Equation 1) whereby the wheel circumference is calculated based on output speed ring (OSR) pulses divided by OSR Pulses per revolution. This calculation and method can be repeated for a short duration to get a quick estimate shortly after power up, then a longer distance can be used to refine the value.

In some scenarios, a CVT controller may function knowing only the ratio of Tf:Tr. This ratio can be discovered by the system controller, which then transmits a mutually pre-defined packet to the CVT controller with the variable PEDAL_REVOLUTIONS to zero and clears a variable PEDAL_REV counter. When a controller receives the packet with the variable PEDAL_REVOLUTIONS set to zero, it clears a counter for the variable INPUT_SPEED_RING_COUNTS (e.g. 12 pulses per rev, ISR_ppr) and begins accumulating input speed ring (ISR) counts until the system controller sends the mutually pre-defined packet to the controller with the variable PEDAL_REVOLUTIONS set to a non-zero value. Upon receiving a non-zero value, the controller will compute the ratio Tf:Tr, then store the value in a variable in non-volatile memory. The equation: Tf:Tr ratio=PEDAL_REVOLUTIONS/(ISR_pulses/ISR_ppr)  (Equation 2) may be used to determine the ratio of Tf to Tr.

In some embodiments, on initial startup, a user enters the make and model of the bicycle. The controller may compare the information about make and model to a database and determine a default configuration based on the determination. In some embodiments, the determination involves identifying a preferred configuration for that specific bicycle. In other embodiments, determination of a default configuration involves determining a make and model similar to the make and model entered by the user.

In one embodiment, a drive system manufacturer integrates a bootloader function into their system.

In some bicycles, there may be an external power source such as an electric motor or a small engine, or some other variation which increases the amount of information needed. Embodiments may obtain or determine information about the state of operation of electric components. In a configuration process, information about the operating parameters of the external power source may be stored in a configuration server, an OEM server, or a vendor server. During the bicycle production process or a control configuration process, part or all of this information may be installed on a system controller or a CVT controller. The system controller or CVT controller may receive information regarding a preferred power range and configure a plurality of operating modes, taking into account the preferred power range. During operation of the bicycle in any of the operating modes, the CVT controller or the system controller can monitor the individual components, the interaction between two components, or the bicycle as a whole and provide feedback to OEM 105 or entity 110 for future bicycle production.

For some users, bicycles or environments, entering the make and model for a bicycle will be easy. However, if the user is not familiar with what to look for or where to look for information, this task can be more daunting. For example, if a user is unfamiliar with bicycles or bicycle components, they may be unsure of the exact make and model. Compounding this is issues with language and branding across different regions. For example, a bicycle may be referred to by a first name in a first country and a second name in a second country. If a user in the second country doesn't recognize that the two bicycles are actually the same bicycle but with different names, the user might enter the wrong make and model, might need to perform iterations to determine the correct make and model, or might become frustrated and not purchase the bicycle.

In some embodiments, end user 115 is presented a limited number of options for configuring a bicycle. For example, instead of asking end user 115 to enter the number of teeth, embodiments may prompt the user to determine if the front gear has 54, 58 or 60 teeth. A method for configuring a bicycle may include a configuration storing possible values for CVT controllers, system controllers, and other components. For example, a front gear on a mountain bike typically has fewer teeth (and is smaller) than a front gear on a road bike. Thus, a controller on a mountain bike might provide end user front gear teeth options that are below a predetermined number (e.g., less than 48) while the same controller mounted on a road bike might provide end user 115 front gear teeth options that are above a predetermined number (e.g., greater than 49). In this manner, embodiments assist end user 115 in configuring the bicycle in a way that reduces the possibility for errors while still allowing end user 115 to participate in the configuration process. Other examples of bicycles include commercial bicycles which may have a large storage container to allow a user to transport cargo, passengers or other heavy items (and may actually have three or more wheels), recumbent bicycles, and other variations.

In other embodiments, a system controller or CVT controller may be communicatively coupled to a device capable of scanning an optical label. For example, in some embodiments, an application running on an imaging device or a smart phone or other user device may be used to read the optical label and provide the necessary information to the CVT controller, the system controller or both.

In some embodiments, end user 115 may use existing technology in the form of a camera feature commonly found on smartphones and other devices to capture information about the physical configuration of a bicycle and use that information to operationally configure the bicycle. FIG. 4 depicts a diagram, illustrating a method for enabling a user to capture information without manually entering each piece of information.

In step 401, a user opens an application on a user device, such as but not limited to a smart phone, a personal data assistant, a tablet, or any other appropriate electronic device. The application may be stored on the smartphone or may be an agent operating on the smartphone that communicates with an application running on a server that is configured to perform some or all of the processing.

In step 402, the application prompts the user to take pictures of the bicycle physical configuration. The application may determine which component(s) is (are) being captured in an image or may separate the process into steps 402 a-402 d.

In step 402 a, the application prompts the user to take a picture of the rear gear. The application may provide information such as a picture or graphic of where the rear gear is located, what angle the camera should be relative to the rear gear, or otherwise assist the user in capturing the best image of the rear gear.

In step 402 b, the application prompts the user to take a picture of the rear wheel. The application may provide information such as a picture or graphic of where the rear wheel is located, what angle the camera should be relative to the rear wheel, or otherwise assist the user in capturing the best image of the rear wheel.

In step 402 c, the application prompts the user to take a picture of the front gear. The application may provide information such as a picture or graphic of where the front gear is located, what angle the camera should be relative to the front gear, or otherwise assist the user in capturing the best image of the front gear.

In step 402 d, the application prompts the user to take a picture of the bicycle. The application may provide information such as what angle the camera should be relative to the rear gear, or otherwise assist the user in capturing the best image of the rear gear.

In a further step, the application may prompt the user to take a picture of the front gear and rear gear. The application may provide information (e.g., what angle the camera should be aimed) to assist the user in capturing the best image of the front gear and the rear gear.

In step 403, the information captured by the images is analyzed either by execution of a set of instructions installed on the smart phone, stored in memory on a controller associated with the bicycle or a CVT on the bicycle communicatively coupled to the smart phone, or by a server communicatively coupled to the smart phone. Analysis of the images determines physical parameters of the bicycle. For example, regarding the image of the rear gear or the front gear, a set of instructions may superimpose an overlay correlated with a gear having a selected number of overlay teeth on the image of the gear. If the gear teeth are not detectable due to the overlay teeth covering them or in proximity, the analysis may conclude that the number of gear teeth is the same as the number of overlay teeth. Hence, the number of gear teeth for the front gear or the rear gear can be determined. Similarly, the overlay may be used to determine the gear size or other information. In some embodiments, a set of instructions may be executed to determine two teeth on the gear. Knowing the arc angle between the two teeth and the radius of the gear, the number of teeth may be calculated. In some embodiments, a profile of a tooth may be compared against existing tooth designs to determine a manufacturer of the gear. If the manufacturer of the gear is known, a gear from the manufacturer's catalog may be determined.

In step 404, the configuration information is communicated to a controller (system or CVT) or a user profile server 135. User profile server may remain communicatively coupled to user device 116 to ensure any configuration is accurate and complete.

In a similar way, the size of the rear wheel, the crank arm length, and other bicycle physical configuration information may be determined. In some embodiments, the step of determining bicycle physical configuration information may be performed by executing a set of instructions on a smartphone, by a server communicatively coupled to the smartphone, or some combination.

Information captured by the smartphone may be sent to one or more computing devices. For example, FIG. 1 shows step 132 in which information from the user device 116, such as a smartphone, is used to create user profile 113, step 142 in which information from the smartphone is sent to vendor computer 125, and step 152 in which information from the smartphone is sent to configuration server 130. The information may be used to calibrate a bicycle for end user 115 or may provide feedback to OEM 105 for future bicycle production.

Auto-Calibration

The systems and methods described above may be useful for configuring a bicycle with little or no involvement by the end user. Over time, however, the operating speed, the power source or the power load may cause slip or otherwise bias the CVT into an unwanted state in which slipping and other negative effects may occur. To avoid these problems or provide an improved rider experience, CVTs may be calibrated. Calibration for a CVT typically involves finding the mechanical limits of the shift system and therefore the ratio limits for the continuously variable transmission.

In one embodiment, a user may ride the bicycle and the CVT may be calibrated by adjusting the transmission ratio from full underdrive (FUD) to full over drive (FOD) and back to FUD. The wheel circumference may be calculated, and a range and transmission ratio may be calculated based on values for the top and bottom ratings. In other embodiments, calibration may involve only a portion of the full range. For example, for safety reasons, having a rider pedal in FOD may be undesirable due to health concerns for the rider or the route along which the bicycle would be ridden to perform the calibration. In these cases, calibration may be performed over the bottom half of the range. The calibration may start with the CVT at FUD and ridden until the CVT is determined to be operating at 1:1. For the bottom half of the range, the CVT will be verified against empirical test data. Above 1:1, the bicycle may be calibrated against a theoretical set of data, a range may be extrapolated, or the like. If the rider actually adjusts the bicycle to FOD, embodiments may then perform calibration between FOD and 1:1 or between FOD and FUD to develop empirical data.

In other embodiments, calibration may include correcting for various loads in a CVT. FIG. 5A depicts a diagram, illustrating transmission ratio over time. A CVT may operate at a first ratio 501 for a time 505. A CVT controller may receive an instruction to adjust a transmission ratio or may determine a desired transmission ratio 502. A command may be sent by the CVT controller to an encoder to initiate an adjustment toward the desired transmission ratio. However, a load applied to the transmission may affect the transmission ratio. As illustrated in FIG. 5A, actual transmission ratio 502 may never equal target transmission ratio 504. Embodiments may correct for the load applied in various ways.

A control scheme may include closed loop and open loop algorithms. FIG. 5B depicts a diagram of transmission ratio relative to time, illustrating a control scheme using open loop and closed loop control schemes under different conditions. The CVT may be operating at a first ratio 501 for time 505. A CVT controller may receive an instruction to adjust a transmission ratio or may determine a desired transmission ratio 503. A command may be sent by the CVT controller to an encoder to initiate an adjustment toward the desired transmission ratio according to a closed loop algorithm. Using the closed loop algorithm over time 506, the controller is able to accurately adjust the CVT so the actual transmission rate 503 is equal to desired ratio 504. The CVT controller may then switch to an open loop control scheme for time 407.

A closed loop algorithm may ensure the transmission ratio is adjusted according to a desired rate 506, occurs over a desired time 506, or some other parameter. Operating according to a closed loop algorithm may require more (battery) power to receive sensor information, perform the necessary calculations, and communicate between controllers to adjust the CVT. Accordingly, a closed loop control system may require more sensors, a larger battery, more memory, a faster processor, or the like. Operating according to an open loop control scheme may be less accurate. However, an open loop control scheme will generally require less information (from fewer sensors), and may be more tolerant to variations in bicycle performance (e.g., a person pedaling, then coasting). Some embodiments may utilize both a closed loop and an open loop control scheme. When a command is given to adjust the transmission ratio, the control system may operate according to a closed loop control scheme. Once the CVT reaches the desired a desired transmission ratio, the control scheme may switch back to an open loop control algorithm. The closed loop control scheme may be initiated whenever a load is detected, when cadence is above (or below) a threshold, or the like. In some embodiments, the determination of whether to use a closed loop or an open loop control scheme may occur during manufacturing or configuration. For example, if a system controller is going to be used on a racing bike, a closed loop scheme may be used, whereas the same controller being used on a beach cruiser may operate according to an open loop system. There are advantages to operating according to either closed loop or open loop control schemes. For example, a closed loop control scheme may be more accurate. In some embodiments, when a command is given (either by a system controller or a CVT controller) to adjust a CVT to a desired transmission ratio, the control scheme operates according to a closed loop algorithm.

In some embodiments, calibration may include determining a polynomial or other function representing a transmission performance parameter. For example, a polynomial may be determined for transmission ratio relative to applied loads. A CVT may operate under a control scheme based on a first polynomial. If a controller determines a load on the CVT, the controller may determine a new polynomial. In a simple scenario, determining a load on the CVT may be achieved by determining an input speed and input torque for a rider. In other scenarios, determining a load on a CVT may be achieved by determining an input speed and torque produced by a rider and an input speed and torque produced by a motor or a motor torque and motor current.

Calibration may employ an adaptive algorithm that uses available inputs to discover the shift system mechanical limits during normal operation and with as few interruptions to normal use as possible. On initial startup, the make and model of the bike and a default configuration setting is established and stored in memory. Over the course of a ride, a CVT controller, a system controller constantly stores data for a period of time (e.g., 30 seconds, 1 minute, etc.) for certain inputs. If the rear wheel speed and cadence demanded is constant for more than a certain period of time (say 30 seconds) then the computer continues to record data in that dataset until the rear wheel speed changes by more than a preset amount (say 5 RPM) at that point the computer considers the dataset and calibrates for the beginning of the dataset and the end and adjusts the configuration settings according to any mismatch of the configured output. In some embodiments, the calibration is performed using GPS coordinates, such as adjusting a setting according to a mismatched data of a calculated output from the GPS setting.

In another embodiment, a calibration system may compare information received from one or more sensors and compare the information with predicted values stored in memory. A bicycle may have sensors for pedal torque, pedal speed, chain speed, chain position, wheel speed and bicycle speed. A calibration system may receive and compare values for pedal speed, wheel speed and bicycle speed to determine a predicted pedal torque. If the predicted pedal torque value differs from an actual torque value by a threshold amount, calibration may be initiated. A chain speed sensor, a wheel speed sensor, and the ratio Tf:Tr may be used to determine pedal speed. A chain speed sensor may employ a magnetized chain component or a magnet embedded with a chain, and a sensor capable of detecting the magnet as it passes by each rotation. An advantage to using a chain speed sensor is that the sensor may be positioned anywhere along the chain path, and can be positioned away from the wheel hubs and pedals. Other types of sensors, including optical sensors capable of detecting variations in chain dimensions or optical cues, are possible.

A method of configuring a controller for a continuously variable transmission on a bicycle may include establishing a first configuration setting, monitoring a set of riding data to determine when a steady state speed is maintained for a specified period of time, recording the riding data until the earlier of a second specified period or until the riding data deviates by a predetermined amount from the steady state speed, identifying a control set of data by comparing a first set of GPS data at the beginning of the recorded data to a second set of GPS data at the end of the recorded data, comparing the recorded data against the control set of data to develop an error value, and establishing a second configuration setting for the controller based on the error value. In some embodiments, the method may include requesting and receiving an input of information from a user, and correlating the information received from the user with a set of stored data to establish the first configuration setting. In some embodiments, the information that is provided in the input of information step comprises one or more of the following; bicycle model, tire size, the number of front chain ring teeth, the number of rear cog teeth, bicycle size and serial number. In some embodiments, the riding data can include one or more of wheel speed, pedal cadence, expected bicycle speed, bicycle position and continuously variable transmission ratio. In some embodiments, the steps of monitoring, recording, identifying, comparing and establishing a second configuration setting are repeated until the error value is within a specified tolerance. In some embodiments, the process is repeated to monitor the configuration setting and ensure it remains within the specified tolerance. The process may be repeated periodically or when the bike senses certain conditions, such as a flat (or relatively flat) profile. In some embodiments, the period of time between monitoring the configuration setting is no more than one month. In some embodiments, the period of time between monitoring the configuration setting is no more than one week. In some embodiments, the process to monitor the configuration setting of the controller occurs every time the bicycle remains at a steady state, meaning speed and cadence are within the defined tolerance, for more than 30 seconds.

Calibration may include determining how to calibrate the bicycle. For example, calibration may involve sweeping the entire range of a ball planetary type CVT or may involve sweeping a smaller range.

Calibration may include a bicycle periodically executing a process to determine if calibration is necessary. Execution of a calibration process is performed without user intervention. A controller may use the transmission ratio to calculate an expected user pedal speed, and compare the expected user pedal speed with a user pedal speed associated with the transmission ratio sored in memory. If the calculated user pedal speed differs from the user pedal speed stored in memory by a selected threshold, a calibration process may be initiated. Referring to FIG. 1, in step 155, information about a calibration process may be communicated from a bicycle owned or rented by end user 115 to user profile server 135 or configuration server 130. Configuration server 130 may aggregate information from a set of end users having the same bicycle, CVT, or other component and provide feedback 122 to OEM 105 for incorporation into future manufacturing or configuration processes. 

What we claim is:
 1. A method for automatically configuring a bicycle by a continuously variable transmission (CVT) controller, comprising: presenting a display via a graphical user interface (GUI); receiving, via the GUI, a set of user inputs; receiving a first packet of information from the CVT controller, the first packet of information containing a set of operating parameters for a CVT; and operating the CVT according to a set of parameters based on the set of user inputs and the first packet of information.
 2. The method of claim 1, wherein at least one user input of the set of user inputs comprises one of a gear ratio, a desired riding performance, a distance, a desired bicycle speed, a preferred language, a preferred unit system, and a load.
 3. The method of claim 1, wherein operating the CVT according to a set of parameters comprises selecting an algorithm for operating the CVT.
 4. The method of claim 1, wherein operating the CVT according to a set of parameters based on the set of user inputs and the first packet of information comprises: operating the CVT according to a first algorithm; determining a second algorithm based on the set of parameters or the set of user inputs; and replacing the first algorithm with the second algorithm.
 5. The method of claim 4, wherein the set of parameters comprises information for one or more of the CVT, an electric motor, a rear gear, a front gear, a chain length, and a physical configuration of the bicycle.
 6. The method of claim 5, further comprising communicating the second algorithm to a server.
 7. The method of claim 4, wherein the set of user inputs comprises an operating mode or a target cadence.
 8. The method of claim 4, further comprising: receiving, by a system controller communicatively coupled to the CVT controller, a second packet of information, the second packet of information comprising a set of operating parameters for an electric motor or a set of parameters for a rider preference, and operating the CVT according to the first packet of information and the second packet of information.
 9. The method of claim 1, wherein the set of user inputs includes information about a geographic area or jurisdiction, and wherein operating the CVT is performed based on the geographic area or jurisdiction. 